// wtkbinlayout.hpp
//

#ifndef _WTKBINLAYOUT_HPP
#define _WTKBINLAYOUT_HPP

#include "wtk/wtklayout.hpp"

namespace wtk
{
  // BinLayout
  //
  class WTK_API BinLayout : public Layout
  {
    struct WTK_API ChildLayout
    {
      Widget *child{nullptr};
    };
    
  public:
    virtual void add_child ( Widget &child );
    virtual void remove_child ( Widget &child );
    virtual void clear ();
    
    virtual void size_request ( SizeRequest &req );
    virtual void size_allocate ( const Allocation &alloc );

  private:
    ChildLayout child_layout;
  };
}

#endif
